Cognitoware.Robotics.dll
Class MarkovChain<X>
X:
The type of the Markov states.
Summary
A Markov Chain is a conditional probability distribution that provides
the probability of transitioning from a start x to an end x.
This class has the "Markov Property", which means the prediction about the next x only depends on the current x and no other states before it.
States that have this property are called "Markov States".
The Markov chain can be represented as the conditional probability P(Xt+1 | Xt).
Constructor Summary
Method Summary
BayesianInference(X, RandomDistribution<X>)
Inherited from Cognitoware.Mathematics.Probability.RandomConditional
Calculates the probability of transition to the specified end x from the specified start x.
Creates a probability distribution of end states conditioned on a specific start x.
Transitions the start x to the end x using a random value.
Equals(Object)
Inherited from System.Object
Finalize()
Inherited from System.Object
GetHashCode()
Inherited from System.Object
GetType()
Inherited from System.Object
Returns the likelihood function of the x previous to end.
Marginalize(DiscreteConditional<X>)
Inherited from Cognitoware.Mathematics.Probability.Discrete.DiscreteConditional
Finds a distribution of ending states from a distribution of starting states.
MemberwiseClone()
Inherited from System.Object
Reverses the Markov chain so that it gives the probability of starting at a x given a destination x.
Sets the probability of transitioning from a start x to an end x.
ToString()
Inherited from System.Object
Constructor Details
Method Details
public override Double ConditionalProbabilityOf(X end, X start)
Calculates the probability of transition to the specified end x from the specified start x.
Parameters:
end
- The end x.
start
- The start x.
Returns:
The proability of transition from start to end.
public override RandomDistribution<X> ConditionBy(X start)
Creates a probability distribution of end states conditioned on a specific start x.
A new distribution value map is creating by collecting all end states that are mapped to the start x.
If the start x is undefined, then an exception is thrown.
Parameters:
start
- The start x over which the conditional distribution.
Returns:
The probability distribution of the end x given the specific start x.
public X DoTransition(X start, Double select)
Transitions the start x to the end x using a random value.
The random value must be between zero and one.
If there are no transitions from the start x, then the start x is returned.
Parameters:
start
- The starting x.
select
- A random value between zero and one.
Returns:
The end x that maps to the start x and a random value.
public override RandomDistribution<X> LikelihoodOf(X end)
Returns the likelihood function of the x previous to end.
Each value in the function maps a starting x to the probability of arriving at end from that x.
Returns:
The likelihood of arriving at end from all possible states.
public override RandomDistribution<X> Marginalize(RandomDistribution<X> start)
Finds a distribution of ending states from a distribution of starting states.
Each value of P(end) is the weighted sum of P(end, start)*P(start)
Parameters:
start
- A distribution across starting states.
Returns:
The expectation of ending states given the probable starting states.
public MarkovChain<X> Reverse()
Reverses the Markov chain so that it gives the probability of starting at a x given a destination x.
Note that all of the start and end labels will be reversed.
Returns:
A MarkovChain that swaps the start and end states of this MarkovChain.
public void Set(X end, X start, Double p)
Sets the probability of transitioning from a start x to an end x.
Parameters:
end
- An ending x.
start
- A starting x.